1. Field of the Invention
The present invention relates to electronic image handling and more particularly to a system and method for operating on image data that has been transform coded, e.g., motion video data, using coefficient prediction techniques, to optimally recover the coded image while facilitating efficient compression of the video data.
2. Prior Art and Problems Solved
Efficient motion video compression systems typically use a combination of intraframe and interframe coding techniques. In intraframe coding a video frame (or field) of a sequence is coded without reference to any other frame (or field) in the video sequence. In interframe coding a video frame is coded by referencing one adjacent, previously coded frame. Since the typical information content of consecutive video frames changes very little, compression of frame differences, and thus interframe coding, is typically more efficient than intraframe coding. Efficiency can be further improved by applying well-known frame to frame motion compensation techniques to the basic interframe coding, as described for instance by H. MUSSMANN, P. PIRSCH, and H. GRALLERT, in "Advances in Picture Coding", Proc. IEEE, 73, 523, 1985. It is thus desirable to use interframe coding as much as possible to optimize compression rate in video sequences, but, nevertheless, intraframe coding cannot be avoided.
Intraframe coding is particularly necessary to handle scene changes and also to meet certain proposed requirements arising from recent standards efforts for motion video compression. Regarding these standards requirements, it appears that if certain proposals are adopted, it will be necessary to be able to access any video frame in a sequence within certain time limits, and to be able to playback a prerecorded video sequence in fast forward and fast reverse by accessing and skipping frames with a certain periodicity. Such requirements call for at least the periodic use of intraframe coding. For example, a fast forward mode at 10 times the normal speed would require accessing, decompressing, and displaying a video frame every 10 frames in the sequence. Since interframe coded frames need to refer to adjacent, previously decoded frames, they cannot be used to implement this function. Only intraframe coded frames can be decoded independently of others and thus a fast forward function at 10 times the normal speed requires an intraframe coded frame for every 10 frames. It follows that the length of time required to randomly access any frame in the video sequence will be constrained by the maximum number of frames between intraframe breaks. Unfortunately, the frequent recurrence of intraframe breaks degrades the quality of the image sequence that would be otherwise achievable. Intraframe transform coded frames, in particular, can show very annoying blocking artifacts at low bit rates. These artifacts are particularly noticeable in smooth areas of the image and they appear as a periodic flashing of blocks which the interframe coding then gradually tends to correct.
Referring to the commonly-applied transform coding technique, it can be adapted for use with either the intraframe or interframe mode. In transform coding, particularly Discrete Cosine Transform Coding (DCT), an image is typically subdivided into blocks of, e.g., 8.times.8 pixels, each of which is then transformed through mathematical operations into a new representation of the original block of pixels. The "pixels" in the transformed blocks are called transform components or coefficients. Known examples of transform operations are the DCT, Haar, Hadamard, and lapped overlap transforms. In all cases, the transform operation has the property of compacting the energy of the original pixel blocks into a few transform components, such that only those coefficients need to be quantized, compressed, and transmitted. When the transform components are quantized coarsely, which is the case with high compression rates typical of motion video standards, this block structure introduces "blocking" artifacts.
A technique is described by B. NISS in "Prediction of AC coefficients from the DC values", ISO/TC97/SC2/WG8 N745, May 1988, and "Prediction of AC coefficients from the DC values revisited", JPEG 147, ISO/TC97/SC2/WG8 document, June 1988, for improving the quality of a still frame that is coded using a progressive transmission DCT technique. Two versions of progressive still frame DCT encoders according to NISS's proposal are shown in FIGS. 1a and 1b, along with a decoder in FIG. 2, which Figures are taken from, MITCHELL, J., B. NISS, W. PENNEBAKER, H. POULSEN, J. VAABEN, "Report on Front-End meeting", JPEG 245, ISO/IEC JTC1/SC2/WG8 document, Jan. 23, 1989. As seen in FIGS. 1a and 1b, an input representing a block of pixels from an original or other image to be coded is firstly transformed by DCT in a transformer 10. The DCT transform of the block of pixels produces a so-called DC-coefficient signal DC and a number of AC-coefficient signals AC. The DC coefficient is representative of the average value in the original block of pixels, while the AC-coefficients represent various harmonic frequencies therein. Initially, only the DC components are quantized Q in a quantizer 20 and transmitted over line 15. Also, using the quantized DC values only, some of the AC-coefficients can be estimated or predicted in an AC predictor 30. In the prior art technique of NISS the DC values of a set of 3.times.3 blocks are used in predicting AC-coefficients for the center block of the 3.times.3 array of blocks. With those predicted AC-values, the technique was able to improve the appearance of the image compared to that generated by the DC-components alone. In NISS's progressive transmission system the difference between the quantized original AC components on line 16 and their corresponding predictions, which are quantized Q in a quantizer 21, is computed in a summer 40 and transmitted to obtain a coded version of the original image, as shown in FIG. 1a. Alternatively, as seen in FIG. 1b, the difference between the unquantized original AC components on line 16a and their corresponding predictions from the DC components may first be computed in summer 40 and then quantized Q in a quantizer 22 before being transmitted to obtain the coded image.
A typical decoder for use with the encoder of FIG. 1a is shown in FIG. 2. The coded and compressed signal received from the encoding transmitter is firstly decompressed and then processed as follows.
The DC component is sent over line 17 to be dequantized Q.sup.-1 by dequantizer 25 and inverse transformed IDCT by inverse transformer 11, and also over line 18 to AC Predictor 31. The output of AC Predictor 31 is quantized Q by quantizer 23 and summed in a summer 41 with the corresponding AC coefficients from the received signal on line 19. The output of summer 41 is dequantized Q.sup.-1 by dequantizer 25 and inverse transformed IDCT by inverse tranformer 11, and included in the decoded output with the decoded DC component.
It is important to note that in NISS's system AC-prediction is performed over the whole image regardless of whether the image contains smooth or active/complex areas. It also has no limitation on the value of the AC-predictions. Any errors in the predictions are left to be corrected later when transmission of the AC-differences is completed. Because of these features, NISS's system may introduce large prediction errors in active/complex areas of an image. These errors, in turn, can degrade compression efficiency.
Accordingly, it is desirable, and an object of the present invention, to provide a system and method for correcting the artifacts in the intraframe coded frames while achieving substantially improved image quality that would not otherwise be possible at low-bit compression rates. Additionally, and most significantly, it is desirable that this improvement be achieved with no penalty in compression efficiency. The invention solves the problem of correcting "blocking" artifacts that result with intraframe coding, while maintaining image quality and compression efficiency, by appropriately utilizing transform coding techniques.